#长度最小的子数组  滑动窗口
from typing import List
class Solution:
    def minSubArrayLen(self, s: int, nums: List[int]) -> int:  
        l=len(nums)
        left,right=0,0
        min_len=float('inf')        #正无穷大 float('inf')
        cur_sum=0

        while right<l:
            cur_sum+=nums[right]
#如果....,则尝试通过移动 left 指针来缩小子数组的长度，并更新 min_len
            while cur_sum>=s:
                min_len=min(min_len,right-left+1)
                cur_sum-=nums[left]
                left+=1

            right+=1
        
        return min_len if min_len!=float('inf') else 0